floyd's triangle algorithm